package ltd.hanamaki;

import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

/**
 * @Author Hanamaki
 * @Version 1.0
 */
public class TestNgParamter {

    static Add add;

    /* 1. 初始化对象 */
    @BeforeClass
    public void setUp() {
        add = new Add();
    }

    /* 2. 编写测试方法 */
    /* 4.数据源中的 数据 如何 传递给 测试方法 使用 DataProvider 指定数据元的方法名即可 */
    /* 在方法中 定义 参数 来接收数据源的数据 数量类型 保持一致 */
    @Test(dataProvider = "dp2")
    public void t(String a, String b, String exp) {

        int add = TestNgParamter.add.add(Integer.parseInt(a), Integer.parseInt(b));
        System.out.println(add);
        int exp1 = Integer.parseInt(exp);

        /* 实际值  和  预期值  一致 就 成功 */
        Assert.assertEquals(add,exp1);


    }

    /* 3. 创建数据源 */
    @DataProvider
    public Object[][] dp1() {
        return new Integer[][]{
                new Integer[]{1, 2, 3},
                new Integer[]{4, 4, 8},
                new Integer[]{5, 7, 13},
                new Integer[]{11, 12, 23}
        };
    }

    @DataProvider
    public Object[][] dp2() {

        return JDBCUtils_C3P0.getSqlContent(new Object[]{"num", "a", "b", "exp"});

    }





}